package com.itheima;

import java.util.HashMap;
import java.util.Map;

public class MapPractice {
    public static void main(String[] args) {
        Map<String, String> data = new HashMap<>();
        data.put("小王", "A");
        data.put("小李", "B");
        data.put("小张", "C");
        data.put("小赵", "D");
        data.put("小王1", "C");
        data.put("小李2", "B");
        data.put("小张3", "C");
        data.put("小赵4", "D");
        data.put("小王5", "C");
        data.put("小李6", "B");
        data.put("小张7", "C");
        data.put("小赵8", "A");
        data.put("小赵9", "D");
        data.put("小赵10", "D");
        count(data);
    }
    public static void count(Map<String, String> data){
        //1.创建一个新的Map集合，用来保存统计结果
        //2.遍历data集合(key-value)

        //6.遍历新的集合，将结果打印出来
        Map<String, Integer> resultMap = new HashMap<>();
        data.forEach((k, v) -> {
            //---3.将value拿出，将value作为key存到新的集合中
            //---4.如果新的集合中已经存在这个value，则value+1
            //---5.如果新的集合中不存在这个value，则value-1，存储到map中即可
            //判断v是否在resultmap中
            boolean containsKey = resultMap.containsKey(v);
            if(containsKey){
                //将老的值拿出来，+1，重新存进去
                Integer oldValue = resultMap.get(v);
                resultMap.put(v, oldValue+1);
            }else {
                resultMap.put(v, 1);
            }
        });
        resultMap.forEach((k, v) -> System.out.println(k+"--->"+v));
    }
}
